From 312773a9271490324055992be33d6526d60854b0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 25 Jul 2017 15:37:10 +0200 Subject: [PATCH] gdkwindow: Update cursor for tablet tools in the window This check must be done explicitly on Wayland as the master device for tablet tools differ from the Core Pointer. This ensures that whenever a tablet tool is inside a window and the cursor is programmatically changed, it will be visually updated too. https://bugzilla.gnome.org/show_bug.cgi?id=785375 --- gdk/gdkwindow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 04f488d2cf..e8f630bd8a 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4588,8 +4588,18 @@ gdk_window_set_cursor (GdkWindow *window, for (s = seats; s; s = s->next) { + GList *devices, *d; + device = gdk_seat_get_pointer (s->data); gdk_window_set_cursor_internal (window, device, window->cursor); + + devices = gdk_seat_get_slaves (s->data, GDK_SEAT_CAPABILITY_TABLET_STYLUS); + for (d = devices; d; d = d->next) + { + device = gdk_device_get_associated_device (d->data); + gdk_window_set_cursor_internal (window, device, window->cursor); + } + g_list_free (devices); } g_list_free (seats); -- 2.30.2